package com.xingkeduo.dto.payment;

import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * 代收基础对象
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class PayeeOrderParam extends BaseOrder {

    /**
     * 商户号
     */
    private String merchantId;

    /**
     * 支付方式
     */
    @NotBlank
    private ThirdpartyType payType;

    /**
     * 订单号
     */
    @NotBlank
    private String outTradeNo;

    /**
     * 金额,元为单位
     */
    @NotBlank
    private BigDecimal amount;

    /**
     * 商品名称
     */
    @NotBlank
    private String productName;

    /**
     * 商品信息
     */
    private String productMessage;

    /**
     * 异步回调地址
     */
    @NotBlank
    private String notifyUrl;

    /**
     * 同步回调地址
     */
    private String returnUrl;

    /**
     * 附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据
     */
    private String attach;

    private String storeId;

    /**
     * 交易类型(   JSAPI，NATIVE，APP)
     */
    private TradeType tradeType;


    /**
     * 交易时间有效期,
     */
    private long expireSeconds;
}
